package com.tac.controller.mes;

import com.tac.common.result.Result;
import com.tac.pojo.mes.FactoryModeling;
import com.tac.service.mes.FactoryModelingService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RequestMapping("/factoryModeling")
@RestController
@CrossOrigin
@Api(tags = "制作执行MES--工厂建模接口")
public class FactoryModelingController {
    /**
     * 工厂建模是指通过软件工具对整个工厂的生产资源进行建模，包括工厂的设备、工艺流程、生产线、
     * 车间布局等各个方面，以建立工厂模型，实现对工厂生产过程的精细化管理和控制。
     *
     * 在MES系统中，工厂建模通常是通过工厂信息管理模块来实现的。通过建立工厂模型，
     * 企业可以实现对工厂生产资源的优化配置和生产过程的优化控制，提高生产效率和产品质量，降低生产成本，从而提升企业的竞争力。
     *
     * 此外，通过工厂建模还可以进行仿真模拟和场景测试，以验证工厂布局、设备配置、
     * 工艺流程等方面的优化方案，帮助企业优化生产流程，实现生产效益的最大化。
     */
    @Autowired
    private FactoryModelingService factoryModelingService;


    @GetMapping("/getList")
    @ApiOperation("查看工厂建模列表")
    public Result getList(Integer pageNum,Integer pageSize,String lineName){
        return factoryModelingService.getList(pageNum,pageSize,lineName);
    }

    @PostMapping("/save")
    @ApiOperation("添加工厂建模")
    public Result save(@RequestBody FactoryModeling factoryModeling){
        return factoryModelingService.save(factoryModeling);
    }

    @DeleteMapping("/remove")
    @ApiOperation("批量删除工厂建模")
    public Result remove(@RequestBody List<Integer> ids){
        return factoryModelingService.remove(ids);
    }

    @PutMapping("/update")
    @ApiOperation("修改工厂建模")
    public Result update(@RequestBody FactoryModeling factoryModeling){
        return factoryModelingService.update(factoryModeling);
    }
}
